package br.com.hstar.client.cliente.cliente;

import br.com.hstar.client.cliente.tipocliente.TipoClienteUI;
import br.com.hstar.client.util.KeyValue;

import com.google.gwt.user.client.rpc.IsSerializable;

public class ClienteUI implements IsSerializable, KeyValue {

	private Long id;
	private String nome;
	private TipoClienteUI tipoCliente; 
	private String nomeFantasia;
	private String telefone;
	private String celular;
	private String cpf;
	private String identidade;
	private String placa;
	private String observacao;



	//o ID sempre deve vir primeiro, por causa da ordem
	//que os atributos irao ser listados na consulta
	private static final String[] columns = {
		"Id", 
		"Nome"				
	};

	public ClienteUI() {

	}

	public ClienteUI(Long _id) {
		this.id = _id;
	}

	// gets e sets------------------------


	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public Long getKey() {
		return getId();
	}

	public static String[] getColumns() {
		return columns;
	}

	public String getCelular() {
		return celular;
	}

	public void setCelular(String celular) {
		this.celular = celular;
	}

	public String getCpf() {
		return cpf;
	}

	public void setCpf(String cpf) {
		this.cpf = cpf;
	}

	public String getIdentidade() {
		return identidade;
	}

	public void setIdentidade(String identidade) {
		this.identidade = identidade;
	}

	public String getNomeFantasia() {
		return nomeFantasia;
	}

	public void setNomeFantasia(String nomeFantasia) {
		this.nomeFantasia = nomeFantasia;
	}

	public String getObservacao() {
		return observacao;
	}

	public void setObservacao(String observacao) {
		this.observacao = observacao;
	}

	public String getPlaca() {
		return placa;
	}

	public void setPlaca(String placa) {
		this.placa = placa;
	}

	public String getTelefone() {
		return telefone;
	}

	public void setTelefone(String telefone) {
		this.telefone = telefone;
	}

	public TipoClienteUI getTipoCliente() {
		return tipoCliente;
	}

	public void setTipoCliente(TipoClienteUI tipoCliente) {
		this.tipoCliente = tipoCliente;
	}

	//Esse método é usado para passar os parametros desse
	//objeto para as listas.
	public String getValue(int position) {
		if(position == 0) {
			return getId().toString();
		} else if(position == 1) {
			return getNome();
		} else {
			return null;
		}
	}

}
